﻿using System;
using VisionCloud.Core.Model.Enums;
using VisionCloud.Core.Model.Ms;
using VisionCloud.Domain.Common;

namespace VisionCloud.Domain.DtoModel.Ms
{
    public class MsReportDto
    {
        /// <summary>
        /// 报告主键
        /// </summary>
        public Guid YunReportGuid { get; set; }

        /// <summary>
        /// 设备Guid
        /// </summary>
        public Guid DeviceGuid { get; set; }

        /// <summary>
        /// 项目Guid
        /// </summary>
        public Guid YunProjectGuid { get; set; }

        /// <summary>
        /// surface
        /// </summary>
        public Guid TaskReportId { get; set; }

        public Guid ProjectId { get; set; }

        public Guid TaskId { get; set; }

        public Guid? FileId { get; set; }

        /// <summary>
        /// 云端任务Id
        /// </summary>
        public Guid YunTaskId { get; set; }

        public string RobotId { get; set; }

        public int ReportType { get; set; }
        public string ReportName { get; set; }

        public string ReportPath { get; set; }

        public bool IsNew { get; set; }

        public DateTime CreateReportDateTime { get; set; }

        public TaskTypeEnum TaskType { get; set; }

        public int PointIndex { get; set; }

        public string TaskTypeDescribe { get => TaskType == TaskTypeEnum.自检 ? "自检" : "巡检"; }

        public bool IsDeleted { get; set; }

        /// <summary>
        /// 项目名称
        /// </summary>
        public string TaskName { get; set; }
    }

    public class MsReportPageDto : PageBase
    {
        public string Name { get; set; }

        public TaskTypeEnum? TaskType { get; set; }

        public string StartTime { get; set; }

        public string EndTime { get; set; }

        /// <summary>
        /// 默认是下升
        /// </summary>
        public Boolean IsAsc { get; set; }
    }

    public class MsReportSearchDto
    {
        public string DeviceGuid { get; set; }

        /// <summary>
        /// 项目Id
        /// </summary>
        public string YunProjectGuid { get; set; }

        public string YunTaskId { get; set; }

        /// <summary>
        /// 任务Id
        /// </summary>
        public string TaskId { get; set; }
    }
}